์šด์˜์ฒด์ œ

์šด์˜์ฒด์ œ๋ž€?

์ปดํ“จํ„ฐ์‹œ์Šคํ…œ์„ ์šด์˜ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด

์ปดํ“จํ„ฐ ์ข…๋ฅ˜

์œ„ ์ •์˜์—์„œ ์ปดํ“จํ„ฐ๋ผ๋Š” ํ•˜๋“œ์›จ์–ด๋Š” ์–ด๋–ค ์ข…๋ฅ˜๊ฐ€ ์žˆ์„๊นŒ?

  • ์Šค๋งˆํŠธํฐ
  • ๋ฐ์ŠคํŠธํƒ‘
  • ๋งฅ๋ถ
  • ๊ณ„์‚ฐ๊ธฐ

์—ฌ๊ธฐ์„œ ๊ณ„์‚ฐ๊ธฐ์™€ ๊ฐ™์€ ๊ฒƒ์€ ์ปดํ“จํ„ฐ๊ฐ€ ์•„๋‹ˆ๋‹ค. ๊ทธ ์ด์œ ๋Š” ์ปดํ“จํ„ฐ์˜ ์ •์˜๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ •๋ณด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๊ณ„

์ •๋ณด

ํด๋กœ๋“œ ์ƒˆ๋…„์ด ์ •๋ณด์— ๋Œ€ํ•ด ์ˆ˜ํ•™์ ์œผ๋กœ ์ •์˜๋ฅผ ์‹œ์ž‘

์œ„ ๋‚ด์šฉ์ด ์ •๋ณด์— ๋Œ€ํ•œ ์ •๋ฆฌ๋กœ Notation์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • x : ์‚ฌ๊ฑด
  • I(x) : ์‚ฌ๊ฑด x์˜ ์ •๋ณด๋Ÿ‰
  • P(x) : ์‚ฌ๊ฑด์ด ๋ฐœ์ƒํ•œ ํ™•๋ฅ 

ํ•ด๋‹น ๊ณผ์ •์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •๋ณด๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ถˆํ™•์‹คํ•œ ์ƒํ™ฉ์„ ์ธก์ •ํ•ด์„œ ์ˆ˜์น˜์ ์œผ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ

  • ์ •๋ณด์˜ ์ตœ์†Œ ๋‹จ์œ„ : bit (binary digit)
์ •๋ณด์˜ ์ฒ˜๋ฆฌ

์ •๋ณด์˜ ์ƒํƒœ๋ณ€ํ™˜์œผ๋กœ 0์—์„œ 1, 1์—์„œ 0์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒƒ์„ Boolean Algebra(NOT, AND, OR)์„ ํ†ตํ•ด ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ง์…ˆ : ๋ฐ˜๊ฐ€์‚ฐ๊ธฐ, ์ „๊ฐ€์‚ฐ๊ธฐ ์ด์šฉ ๋บ„์…ˆ : 2์˜ ๋ณด์ˆ˜ ํ‘œํ˜„๋ฒ• ๊ณฑ์…ˆ๊ณผ ๋‚˜๋ˆ—์…ˆ : ๋ง์…ˆ๊ณผ ๋บ„์…ˆ์˜ ๋ฐ˜๋ณต ์‹ค์ˆ˜ ์—ฐ์‚ฐ : ๋ถ€๋™ ์†Œ์ˆ˜์  ํ‘œํ˜„ ํ•จ์ˆ˜ : GOTO

์ด์™ธ์—๋„ ์‚ผ๊ฐํ•จ์ˆ˜, ๋ฏธ๋ถ„, ์ ๋ถ„, flip-flop, data bus๊ฐ€ ์žˆ๋Š”๋ฐ ์ด๋Š” ๋…ผ๋ฆฌํšŒ๋กœ๊ด€๋ จ ๋‚ด์šฉ์„ ํ™•์ธํ•ด๋ณด๋„๋ก ํ•˜์ž..

Stored-program, ํฐ๋…ธ์ด๋งŒ ์•„ํ‚คํ…์ฒ˜ (ISA) : ๋ช…๋ น์–ด ์ง‘ํ•ฉ์œผ๋กœ ์ž‘๋™๋˜๋Š” ์•„ํ‚คํ…์ฒ˜

  1. Ram์—์„œ ํ”„๋กœ๊ทธ๋žจ ๋ณด๊ด€
  2. CPU๋กœ Fetch
  3. CPU์—์„œ Execute
ํ”„๋กœ๊ทธ๋žจ

๋ช…๋ น์–ด๋“ค์˜ ์ง‘ํ•ฉ (์ปดํ“จํ„ฐ์—๊ฒŒ ์ผ์„ ์‹œํ‚ค๋Š”)

์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์šด์˜์ฒด์ œ๋ผ๊ณ  ํ•œ๋‹ค.

์šด์˜์ฒด์ œ๋Š” ๊ฒฐ๊ตญ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ๊ทธ๋žจ, ์ปดํ“จํ„ฐ ์œ ์ €, ํ•˜๋“œ์›จ์–ด ๊ฐ„์˜ ๋งค๊ฐœ๋กœ์จ์˜ ์—ญํ• 

๊ฒฐ๊ตญ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์€ 4๊ฐœ์˜ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ์กด์žฌํ•œ๋‹ค.

  • ํ•˜๋“œ์›จ์–ด
  • ์šด์˜์ฒด์ œ
  • ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜
  • ์œ ์ €

์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์กด์žฌํ•œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

  • ๋ฒ”์šฉ์ ์œผ๋กœ ์ •์˜๋œ ์šฉ์–ด๋Š” ์—†๋‹ค. ์šด์˜์ฒด์ œ์˜ common ์ •์˜
  • ์ผ๋ฐ˜์ ์œผ๋กœ ์ปดํ“จํ„ฐ์—์„œ ํ•ญ์ƒ ์šด์˜๋˜๋Š” ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ : ์ปค๋„ ์ปค๋„์—์„œ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋žจ, ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ๊ทธ๋žจ์„ ์ œ๊ณตํ•ด์ค€๋‹ค.

์ „ํ†ต์ ์ธ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ ๊ตฌ์„ฑ ์š”์†Œ

  • CPU
  • ๋ฒ„์Šค๋ฅผ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์—ฌ๋Ÿฌ ๋””๋ฐ”์ด์Šค ์ปจํŠธ๋กค๋Ÿฌ ์กด์žฌ ์ด๋ฅผ OS๊ฐ€ ์ œ์–ด

Bootstrap PRogram

BootStrapingํ•˜๋Š” ๊ฒƒ

๋์„ ๋–™๊ธฐ๋ฉด ์™ ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ์ปดํ“จํ„ฐ๊ฐ€ ์ „์›์ด ์ผœ์งˆ ๋•Œ ๋ฉ”๋ชจ๋ฆฌ์— ์šด์˜์ฒด์ œ๋ฅผ ๋กœ๋”ฉํ•ด์ฃผ๋Š” ์ผ์„ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋””์Šคํฌ โ†’ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์ด๋™

๊ฒฐ๊ตญ ์šด์˜์ฒด์ œ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ง‘์–ด๋„ฃ๋Š” ํ–‰์œ„์ด๋‹ค.

Interrupts

์˜ˆ๋ฅผ ๋“ค์–ด ํ‚ค๋ณด๋“œ์— A๋ฅผ ๋ˆ„๋ฅด๋Š” ๊ฒฝ์šฐ ์ด๋ฅผ CPU์—๊ฒŒ ์•Œ๋ ค์ค˜์•ผํ•œ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด Interrupt ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•œ๋‹ค.

์ฆ‰, ํ•˜๋“œ์›จ์–ด๊ฐ€ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ผ์œผํ‚ค๊ณ  ์ด๋ฅผ ์‹œ์Šคํ…œ ๋ฒ„์Šค๋ฅผ ํ†ตํ•ด CPU์— ์‹ ํ˜ธ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ํ–‰์œ„์ด๋‹ค.

ํฐ ๋…ธ์ด๋งŒ ์•„ํ‚คํ…์ฒ˜

instruction-execution cycle

์ปดํ“จํ„ฐ์— ๋‚ด๋ ค์ง€๋Š” ๋ช…๋ น์–ด ์ง‘ํ•ฉ๋“ค์ด ์กด์žฌํ•˜๊ณ  ์ด๋ฅผ ํ†ตํ•ด ๊ตฌ์„ฑ๋œ ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ์„ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋”ฉํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ๋ช…๋ น์–ด๋“ค์„ CPU๊ฐ€ ํ•˜๋‚˜์”ฉ fetchํ•˜๊ณ  execute๋ฅผ ํ•œ๋‹ค.

์ฆ‰, fetch, execute cycle์ด๋‹ค. ๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•ด์„œ instructiion register๋ฅผ ํ†ตํ•ด ๋ช…๋ น์–ด๋ฅผ ์ €์žฅํ•˜๊ณ  ์ˆ˜ํ–‰ํ•˜๋„๋ก ์ฒ˜๋ฆฌํ•œ๋‹ค.

Storage System

์šฉ๋Ÿ‰, ์—‘์„ธ์Šค ํƒ€์ž„์— ๋”ฐ๋ผ ๊ณ„์ธต๊ตฌ์กฐ๊ฐ€ ์กด์žฌํ•œ๋‹ค.

  • register
  • cache
  • main memory
  • solid-state disk
  • hard dis
  • optical disk
  • magnetic tapes

I/O Structure

DMA

> Directed Memory Access๋ผ๋Š” ์˜๋ฏธ๋กœ ์œ ํŠœ๋ธŒ์˜ ์˜์ƒ์„ ๋ฐ›์•„ ํ™”๋ฉด์— ๋ณด์—ฌ์ฃผ๋Š” ๊ฒฝ์šฐ์—๋Š” CPU๊ฐ€ ํ•˜๋Š” ์ผ์€ ๋Œ€์—ญํญ ์กฐ์ ˆ ์ •๋„์˜ ์—ญํ•  ๋ฟ์ด๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ์— ๋ณดํ†ต ๋””๋ฐ”์ด์Šค์™€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์ด์—์„œ์˜ ํ†ต์‹ ์ด ์ด๋ฃจ์–ด์ง€๋Š”๋ฐ ์ด๋ฅผ DMA๋ผ๊ณ  ํ•œ๋‹ค.

์ตœ์ข…์ ์ธ ๊ตฌ์„ฑ

  • CPU
  • Processor
  • Core
  • MultiCore
  • MultiProcessor
Symmetric multiprociessing

์ตœ๊ทผ์—๋Š” Symmetric multiprocessing (SMP) ๊ตฌ์กฐ์ด๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ํ•˜๋‚˜์— ์—ฌ๋Ÿฌ CPU๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ณ  ๊ฐ๊ฐ์˜ register์™€ cache๋ฅผ ๊ตฌ์„ฑํ•œ ๊ฒƒ์ด๋‹ค.

Multi-core design

CPUํ•˜๋‚˜์•ˆ์— ์—ฌ๋Ÿฌ ์ฝ”์–ด ์กด์žฌํ•˜๋Š” ๊ฒƒ ์ฆ‰, ๊ฐ™์€ ํ”„๋กœ๋ ˆ์Šค ์นฉ ๋‚ด๋ถ€์— ์—ฌ๋Ÿฌ ์ฝ”์–ด๋กœ ์กด์žฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

Multiprogramming

์ด์ „์—๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ํ”„๋กœ๊ทธ๋žจ์„ ํ•˜๋‚˜๋งŒ ๋กœ๋”ฉํ–ˆ์ง€๋งŒ ์ตœ๊ทผ์—๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ๊ทธ๋žจ์„ ๋™์‹œ์— ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ ค๋‘๊ณ  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ. ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ ค๋‘์–ด CPU์˜ ์‚ฌ์šฉ๋ฅ ์„ ์ฆ๊ฐ€์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ์œ ํœด ์‹œ๊ฐ„ ์ค„์–ด๋“ค๊ธฐ, ์ข€ ๋” ํšจ์œจ์  ํ™œ์šฉ

Multitasking(MultiProcessing)

๋ฉ€ํ‹ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๋˜๋Š” ๊ฒƒ์œผ๋กœ ์ธํ•ด ๊ฐ€๋Šฅํ•œ ๊ฒƒ์œผ๋กœ ์ด๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋ฐ”๊ฟ”์ฃผ๋ฉด ์œ ์ €๋Š” ์—ฌ๋Ÿฌ ์ผ๋“ค์ด ๋™์‹œ์— ์ฒ˜๋ฆฌ๋˜๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์ด๋ฅผ Concurrency, Pallelelism์œผ๋กœ ์ด์–ด์ง„๋‹ค. (์ด ์ฐจ์ด๋Š” ์ดํ•ดํ•  ํ”ผ๋ฃŒ๊ฐ€ ์กด์žฌ)

์ด๋ฅผ ์œ„ํ•ด์„œ CPU scheduling์ด ํ•„์š”

ํ”„๋กœ์„ธ์Šค๋ฅผ ์–ด๋–ค ๊ฒƒ์„ ๋‹ค์Œ์— ์ฒ˜๋ฆฌํ•  ์ง€. ์ด ๋ชฉํ‘œ๋Š” CPU์‚ฌ์šฉ๋ฅ ์„ ๋†’์ด๋Š” ๊ฒƒ.

Mode

๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์ด ๋ถ€์ ์ ˆํ•˜๊ฒŒ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์กด์žฌํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋‹ค์Œ ๋‘ ๋ชจ๋“œ๊ฐ€ ์กด์žฌํ•œ๋‹ค.

User Mode
Kernel Mode

์ด๋ฅผ ์œ„ํ•ด ์œ ์ €๊ฐ€ ์ง์ ‘์ ์œผ๋กœ ํ•˜๋“œ์›จ์–ด์— ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•˜๊ธฐ์— ๋‚ซ๋ฐฐ๋“œ์ž„.

Virtualization

๋ฉ€ํ‹ฐ ํ”„๋กœ๋ ˆ์‹ฑ์˜ OS๋ฒ„์ „์œผ๋กœ ํ•˜๋‚˜์˜ HW์— ์—ฌ๋Ÿฌ OS๋ฅผ ๋„์›Œ๋ณด์ž๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜์˜ด.

VMM(VIrtual Machine Manager)์„ ํ†ตํ•ด ๊ด€๋ฆฌํ•œ๋‹ค.

์ตœ๊ทผ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ปดํ“จํŒ… ํ™˜๊ฒฝ๋“ค๋กœ ๋‹ค์–‘ํ•˜๊ฒŒ ์กด์žฌํ•œ๋‹ค.

  • Traditional Computing
  • Mobile Computing
  • Client-Server Computing
  • Peer-to-Peer Computing (Airdrop)
  • Cloud Computing
  • Real-Time Embbeded System